The present invention deals with disc drives. More specifically, the present invention deals with a system for reducing controller delays during sequential data transfers in a disc drive.
A typical magnetic disc drive includes one or more magnetic discs, a transducer supported by a hydrodynamic air bearing which flies above each magnetic disc, and a drive controller for controlling the disc drive based on commands received from a host system. The drive controller controls the disc drive to retrieve information from the magnetic discs and to store information on the magnetic discs.
An electromechanical actuator operates within a negative feedback, closed-loop servo system (the servo positioning system). The actuator moves the transducer radially over the disc surface for track seek operations and holds the transducer directly over a track on the disc surface for track following operations.
Information is typically stored on the magnetic discs by providing a write signal to the transducer to encode flux reversals on the surface of the magnetic disc representing the data to be stored. In retrieving data from the disc, the drive controller controls the electromechanical actuator so that the transducer flies above the magnetic disc, sensing the flux reversals on the magnetic disc and generating a read signal based on those flux reversals. The read signal is then decoded by the drive controller to recover the data represented by flux reversals stored on the magnetic disc, and consequently represented in the read signal provided by the transducer.
Conventionally, the electromechanical actuator includes an actuator arm assembly which is coupled to a head gimbal assembly (which includes the transducer and hydrodynamic air bearing). The actuator arm assembly is controlled to pivot about a pivot point to move the head gimbal assembly over the surface of the disc to a desired radial position. The actuator arm assembly typically includes an actuator arm and a voice coil which is connected to the actuator arm. A magnet, or group of magnets, is positioned relative to the voice coil such that when the disc drive controller causes current to flow through the voice coil, the fields generated by the voice coil interact with the magnetic field provided by the magnets to cause movement of the actuator arm assembly about the pivot point.
In addition to the servo positioning system, typical disc drives include a disc formatter, sectoring logic and a microcontroller. The disc formatter is responsible for transferring data to or from the magnetic disc and the sectoring logic informs the disc formatter when a data sector is positioned under the transducer (or head) so that the data transfer may begin. The servo positioning system, as discussed above, is responsible for positioning the transducer over the proper data track. The microcontroller coordinates data transfers by communicating with the disc formatter and the servo positioning system.
A sequential data transfer is a transfer in which data is either read from, or written to, a plurality of tracks on the disc. Conventional methods of accomplishing a sequential data transfer include the microcontroller first determining a servo destination which identifies the track over which the data transfer is to start. The microcontroller then controls the servo positioning system to initiate positioning of the head over the desired track. After positioning is complete, the servo positioning system indicates that the head is over the appropriate track. Then, the controller causes the disc formatter to begin the data transfer. After the data transfer is complete, the controller determines whether additional data is to be transferred to a different track. If so, the controller indicates to the servo positioning system the next track to which data is to be transferred (i.e., the controller indicates the next track to which data is to be written or from which data is to be read). The process repeats itself until no more data is to be transferred at which point the data transfer is completed.
In such a conventional system, the controller must wait for the disc formatter to reach the end of a track before instructing the servo positioning system to move the head to another track. In addition, the controller must wait for the servo positioning system to indicate that the head has been moved before instructing the disc formatter to resume the data transfer. Due to the controller overhead involved in performing these two tasks, the controller delays consequent to the track change operation take significantly longer than the actual mechanical operation of moving the head. This problem is exacerbated in systems in which the controller is responsible for additional tasks. For example, the controller may be slow to respond to an end-of-track indication from the disc formatter because the controller is busy coordinating other disc drive operations.
These delays are further exacerbated by the fact that the servo positioning system and the disc formatter typically provide signals indicating that the head is over the proper track, and that the head has reached the end of a track, respectively, as controller interrupts to the system controller. In such systems, the controller may typically disable certain interrupts while it is performing a number of other tasks. Thus, the interrupts provided from the disc formatter and the servo positioning system may be disabled, and the controller delay is consequently lengthened.